package cn.smallran.novel.mapper;

import java.util.List;
import cn.smallran.novel.domain.BookInfo;
import cn.smallran.novel.domain.BookChapter;

/**
 * 小说列表Mapper接口
 * 
 * @author smallran
 * @date 2024-12-01
 */
public interface BookInfoMapper 
{
    /**
     * 查询小说列表
     * 
     * @param id 小说列表主键
     * @return 小说列表
     */
    public BookInfo selectBookInfoById(Long id);

    /**
     * 查询小说列表列表
     * 
     * @param bookInfo 小说列表
     * @return 小说列表集合
     */
    public List<BookInfo> selectBookInfoList(BookInfo bookInfo);

    /**
     * 新增小说列表
     * 
     * @param bookInfo 小说列表
     * @return 结果
     */
    public int insertBookInfo(BookInfo bookInfo);

    /**
     * 修改小说列表
     * 
     * @param bookInfo 小说列表
     * @return 结果
     */
    public int updateBookInfo(BookInfo bookInfo);

    /**
     * 删除小说列表
     * 
     * @param id 小说列表主键
     * @return 结果
     */
    public int deleteBookInfoById(Long id);

    /**
     * 批量删除小说列表
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookInfoByIds(Long[] ids);

    /**
     * 批量删除小说章节
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookChapterByBookIds(Long[] ids);
    
    /**
     * 批量新增小说章节
     * 
     * @param bookChapterList 小说章节列表
     * @return 结果
     */
    public int batchBookChapter(List<BookChapter> bookChapterList);
    

    /**
     * 通过小说列表主键删除小说章节信息
     * 
     * @param id 小说列表ID
     * @return 结果
     */
    public int deleteBookChapterByBookId(Long id);
}
